// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "device/base/device_client.h"

#include "base/logging.h"

namespace device {

namespace {

    DeviceClient* g_instance;

} // namespace

DeviceClient::DeviceClient()
{
    g_instance = this;
}

DeviceClient::~DeviceClient()
{
    g_instance = nullptr;
}

/* static */
DeviceClient* DeviceClient::Get()
{
    DCHECK(g_instance);
    return g_instance;
}

UsbService* DeviceClient::GetUsbService()
{
    // This should never be called by clients which do not support the USB API.
    NOTREACHED();
    return nullptr;
}

HidService* DeviceClient::GetHidService()
{
    // This should never be called by clients which do not support the HID API.
    NOTREACHED();
    return nullptr;
}

} // namespace device
